package com.atguigu.gmall.common.config.retryer;

import feign.RetryableException;
import feign.Retryer;

public class Retryer3 implements Retryer {
    int num = 3;

    /**
     * 到底要不要继续重试
     * @param e
     */
    @Override
    public void continueOrPropagate(RetryableException e) {
        for (int i = 0; i < num; i++) {
            if (i >= 3){
                //这里可以进行配置什么时候将`e`异常抛出
                throw e;
            }
        }
    }

    /**
     * 获取一个重试对象
     * @return
     */
    @Override
    public Retryer clone() {
        return new Retryer3();
    }
}
